AVAILABLE_CONTROLLERS=(
					   (0, "Human"),
					   (1, "controller"),
					   )


class controller():
    """AI responsible for picking actions of an individual"""
    
    def __init__(self, combat, combatant):
    	self.observer = observer()
    	self.combat = combat
    	self.combatant = combatant
    
    def getAction(self):
        """Decides what action the combatant takes"""
        actions = self.combatant.individual.getAllActions()
        return actions[0]
    
    def getTarget(self):
    	enemies = self.combatant.getEnemies()
    	for x in enemies:
    		if x.individual.isAlive():
    			return x
    	return enemies[0]
    
    def generateActionRequest(self):
    	target = self.getTarget()
    	action = self.getAction()
    	return combatActionRequest.combatActionRequest(action, self.combatant, target, self.combat)
    	
class observer():
    """responsible for making decisions based on the combat situation"""
    def mostDangerousCombatant(self):
        pass
    def leastDangerousCombatant(self):
        pass
    def mostInjuredCombatant(self):
        pass
    def leastInjuredCombatant(self):
        pass
    def pickTarget(self):
        pass
        